package com.bugpool.leilema.tc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bugpool.leilema.tc.bean.entity.SysRole;
import com.bugpool.leilema.tc.bean.req.BaseReq;
import com.bugpool.leilema.tc.bean.req.RoleDataScopeReq;
import com.bugpool.leilema.tc.bean.req.RoleMenuReq;

import java.util.List;

/**
 * @Author wh
 * @Description
 * @Date 2023/3/2 18:00
 * @Version 1.0
 **/
public interface RoleService {

    /**
     * 分页列表 根据 用户分
     * @param baseReq
     * @return
     */
    Page<SysRole> selectPage(BaseReq baseReq);

    /**
     * 未分页的 权限列表
     * @return
     */
    List<SysRole> selectList();

    /**
     * 添加角色
     * @param sysRole
     * @return
     */
    Boolean addRole(SysRole sysRole);

    /**
     * 删除角色
     * @param ids
     * @return
     */
    Boolean delIds(List<Long> ids);


    /**
     * 修改角色
     * @param sysRole
     * @return
     */
    Boolean updateRole(SysRole sysRole);

    /**
     *
     * @param roleMenuReq
     * @return
     */
    Boolean updateRoleMenu(RoleMenuReq roleMenuReq);

    /**
     * 修改角色的状态
     * @param roleId
     * @param status
     * @return
     */
    Boolean updateRoleStatus(Long roleId, String status);

    /**
     * 更新角色数据权限
     * @param roleDataScopeReq
     * @return
     */
    Boolean updateRoleDataScope(RoleDataScopeReq roleDataScopeReq);
}
